import serial

BAUDRATE = 9600

def criarArquivo(nome):
    arquivo = open(nome + ".csv", "w")
    arquivo.write("Red,Green,Blue,Clear,Cap\n")
    return arquivo

def medir(arquivo, cap) :
    port.write('M')
    medicao = port.readline()
    medicao = medicao.rstrip('\r\n')
    medicao += ',' + str(cap)
    arquivo.write(medicao + '\n')

def calibrar() :
    port.write('Q')
	
if __name__ == "__main__":
    port = serial.Serial("COM3", BAUDRATE)
    print "Abriu conexao"

    # Handshake
    port.write('A')
    print "Handshake completado"
    
    medicoes = 30
    tipo = 'C'
    
    while(1):
        cor = raw_input()
        
        if (cor == 'X'):
            break
        
        if (cor == 'L' or cor == 'D'):
            port.write(cor)
            continue
        
        arquivo = criarArquivo(cor)
        for cap in xrange(16):
            calibrar()
            
            if (cap >= 10):
                valor = '00'
            else:
                valor = '000'
                
            valor += str(cap)
                        
            port.write(tipo)
            port.write(cor)
            port.write(valor)
            
            for i in xrange(medicoes):
                medir(arquivo, cap)
        arquivo.close()
        print "Fim"
        
    port.close()
